package com.yc.cloud.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yc.cloud.common.orm.BaseEntity;

import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 算法信息表
 * </p>
 *
 * @author kinggu
 * @since 2025-07-11
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("alg_algorithm")
public class AlgAlgorithm extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 算法名称
     */
    @TableField("name")
    private String name;

    /**
     * 算法名称简写
     */
    @TableField("short_name")
    private String shortName;

    /**
     * 算法描述
     */
    @TableField("description")
    private String description;

    /**
     * 算法图标
     */
    @TableField("icon")
    private String icon;

    /**
     * 算法可配置参数定义(JSON Schema)
     */
    @TableField("param_schema")
    private String paramSchema;

    /**
     * 默认告警级别: 1-一般, 2-警告, 3-紧急
     */
    @TableField("level")
    private Byte level;

    /**
     * 报警提示语
     */
    @TableField("alarm_message")
    private String alarmMessage;

    /**
     * 算法检测类别：0-目标检测(检测到目标才报警), 1-场景检测(未检测到目标才报警)
     */
    @TableField("detection_type")
    private Integer detectionType;

    /**
     * 是否启用邮件告警: 0-不发送, 1-发送
     */
    @TableField("enable_email")
    private Boolean enableEmail;

    /**
     * 是否启用人脸识别: 0-不启用, 1-启用
     */
    @TableField("enable_face_recognition")
    private Boolean enableFaceRecognition;

    /**
     * 逻辑删除标志 0-未删除 1-已删除
     */
    @TableField("is_deleted")
    private Boolean deleted;

    public static final String Name = "name";
    public static final String ShortName = "short_name";
    public static final String Description = "description";
    public static final String Icon = "icon";
    public static final String ParamSchema = "param_schema";
    public static final String Level = "level";
    public static final String AlarmMessage = "alarm_message";
    public static final String DetectionType = "detection_type";
    public static final String ENABLE_EMAIL = "enable_email";
    public static final String ENABLE_FACE_RECOGNITION = "enable_face_recognition";
    public static final String Deleted = "is_deleted";

} 